
package com.ecommerce.dal.service;

import java.util.List;

import com.ecommerce.dal.entity.ClientHistory;
/*
 * this interface maps ClientHistory servicing  
 */
public interface IPaymentManagementService {
	/**
	 * @param Long clientId
	 * @return ClientHistory Object
	 */
	public List<ClientHistory> retrievePaymentHistory(long clientId);
	/**
	 * @param ClientHistory clientHistory object
	 */
	public void savePaymentHistory(ClientHistory clientHistory);
	/**
	 * @param Long clientId
	 * @return Double "Payment Amount" 
	 */
	public Double retrieveCurrentPaymentAmount(long clientId);
	
	/**
	 * @param Long clientId
	 * @return Date of last payment
	 */
	public java.sql.Date retrieveCurrentPaymentDate(long clientId);
	/**
	 * @param Long clientId
	 * @return Date of Next payment
	 */
	public java.sql.Date retrieveNextPaymentDate(long clientId);
	/**
	 * @param Long clientId
	 * @return Double Total Client Payment amount 
	 */
	public List<Double> retrieveTotalClientPayments(long clientId);
	/**
	 * @return List of all Payments
	 */
	public List<ClientHistory> retrieveAllPaymentsHistory();

}
